<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>xilloader: xloader_plat.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">xilloader
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;"
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('2ve__2vm_2xloader__plat_8c.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a>  </div>
  <div class="headertitle">
<div class="title">2ve_2vm/xloader_plat.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<div class="textblock"><p>This file contains the versal_2ve_2vm specific code related to PDI image loading. </p>
<pre>
MODIFICATION HISTORY:</pre><pre>Ver   Who  Date        Changes
</p>
<hr/>
<p>
1.00  bm   07/06/2022 Initial release
      bm   07/13/2022 Retain critical data structures after In-Place PLM Update
      bm   07/18/2022 Shutdown modules gracefully during update
      dc   07/20/2022 Added support for data measurement
      dc   09/04/2022 Initialized TRNG
      is   09/12/2022 Remove PM_CAP_SECURE capability when requesting PSM_PROC,
                      TCM memory banks
1.01  ng   11/11/2022 Updated doxygen comments
      dc   12/27/2022 Added SHA1 instance
      kal  01/05/2023 Added PCR Extend functions for secure images
      dd   03/28/2023 Updated doxygen comments
      ng   03/30/2023 Updated algorithm and return values in doxygen comments
1.02  ng   04/27/2023 Added support for cluster flags in ATF handoff params
      sk   05/23/2023 Made Status variable volatile to avoid optimization
      kal  06/04/2023 Added SW PCR extend support
      sk   06/12/2023 Removed PDI Inst DS export,Added Bootpdiinfo storage &amp;
                      DS export to handle in-place update flow,
                      Removed XLoader_GetPdiInstance function definition
      bm   06/13/2023 Log PLM error before deferring
      sk   07/06/2023 Added Jtag DAP config support for Non-Secure Debug
      kpt  07/10/2023 Added IPI support to read DDR crypto status
      sk   07/09/2023 Enable TCM Boot based on PH Attribute
                      Removed XLoader_GetLoadAddr targeting TCM Memory
      ng   06/26/2023 Added support for system device tree flow
      dd   08/11/2023 Updated doxygen comments
      sk   08/11/2023 Added error code for default case in XLoader_StartImage
      ng   02/14/2024 removed int typecast for errors
1.03  am   01/31/2024 Fixed internal security review comments of XilOcp library
      kpt  01/22/2024 Added support to extend secure state to SWPCR
      mss  03/06/2024 Removed code which was overwriting partition header
                      Destination Execution Address
      sk   03/13/2024 Fixed doxygen comments format
      mss  04/12/2024 Added code to dump DDRMC error logs
      har  06/07/2024 Updated condition to check if optional data is not found
      kal  06/29/2024 Update InPlace update to load LPD and PSM
      pre  12/09/2024 use PMC RAM for Metaheader instead of PPU1 RAM
      obs  12/10/2024 Fixed GCC Warnings
      ma   01/07/2025 Added support for ASU handoff
      sk   02/04/2024 Reset Status before call to XLoader_PrtnCopy
      tri  03/01/2025 Added XLOADER_MEASURE_LAST case in XLoader_DataMeasurement
                      for Versal 2VE and 2VM Devices
      sk   03/05/2025 Reset Status before use in XLoader_ProcessElf
      sk   03/05/2025 Added temporal check in XLoader_EncRevokeIdMeasurement
      sk   03/05/2025 Added ASU destination CPU attribute
      tri  03/13/2025 Added XLoader_MeasureNLoad support
      sk   03/17/2025 Added support for all 5 RPU clusters
      sk   03/22/2025 Updated status variable as volatile in XLoader_StartImage
      sk   03/29/2025 Added redundancy for handoff address</pre><pre></pre> </div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga4b029f8eb41a438e0a2851c15a0055a0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga4b029f8eb41a438e0a2851c15a0055a0">XLOADER_IMAGE_INFO_VERSION</a>&#160;&#160;&#160;(1U)</td></tr>
<tr class="memdesc:ga4b029f8eb41a438e0a2851c15a0055a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Image version information.  <a href="group__xloader__server__apis.html#ga4b029f8eb41a438e0a2851c15a0055a0">More...</a><br/></td></tr>
<tr class="separator:ga4b029f8eb41a438e0a2851c15a0055a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9b010e88b328a818eb02d24852674e8e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga9b010e88b328a818eb02d24852674e8e">XLOADER_IMAGE_INFO_LCVERSION</a>&#160;&#160;&#160;(1U)</td></tr>
<tr class="memdesc:ga9b010e88b328a818eb02d24852674e8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Image lowest compatible version information.  <a href="group__xloader__server__apis.html#ga9b010e88b328a818eb02d24852674e8e">More...</a><br/></td></tr>
<tr class="separator:ga9b010e88b328a818eb02d24852674e8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaab4fbb00ecf27e811f1e6282caa21c70"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#gaab4fbb00ecf27e811f1e6282caa21c70">XLOADER_PDI_LIST_VERSION</a>&#160;&#160;&#160;(1U)</td></tr>
<tr class="memdesc:gaab4fbb00ecf27e811f1e6282caa21c70"><td class="mdescLeft">&#160;</td><td class="mdescRight">PDI version list.  <a href="group__xloader__server__apis.html#gaab4fbb00ecf27e811f1e6282caa21c70">More...</a><br/></td></tr>
<tr class="separator:gaab4fbb00ecf27e811f1e6282caa21c70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacc78ce7d57074b011bd80837a7b133a8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#gacc78ce7d57074b011bd80837a7b133a8">XLOADER_PDI_LIST_LCVERSION</a>&#160;&#160;&#160;(1U)</td></tr>
<tr class="memdesc:gacc78ce7d57074b011bd80837a7b133a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">PDI lowest compatible version list.  <a href="group__xloader__server__apis.html#gacc78ce7d57074b011bd80837a7b133a8">More...</a><br/></td></tr>
<tr class="separator:gacc78ce7d57074b011bd80837a7b133a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3cb0c6d91d6ea175ab641751e8cb2d56"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga3cb0c6d91d6ea175ab641751e8cb2d56">XLOADER_ATF_HANDOFF_PARAMS_VERSION</a>&#160;&#160;&#160;(1U)</td></tr>
<tr class="memdesc:ga3cb0c6d91d6ea175ab641751e8cb2d56"><td class="mdescLeft">&#160;</td><td class="mdescRight">ATF handoff parameters version.  <a href="group__xloader__server__apis.html#ga3cb0c6d91d6ea175ab641751e8cb2d56">More...</a><br/></td></tr>
<tr class="separator:ga3cb0c6d91d6ea175ab641751e8cb2d56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga656ec0b30e14c020dbc723daa4275842"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga656ec0b30e14c020dbc723daa4275842">XLOADER_ATF_HANDOFF_PARAMS_LCVERSION</a>&#160;&#160;&#160;(1U)</td></tr>
<tr class="memdesc:ga656ec0b30e14c020dbc723daa4275842"><td class="mdescLeft">&#160;</td><td class="mdescRight">ATF handoff parameters lowest compatible version.  <a href="group__xloader__server__apis.html#ga656ec0b30e14c020dbc723daa4275842">More...</a><br/></td></tr>
<tr class="separator:ga656ec0b30e14c020dbc723daa4275842"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4902a96e0396c283f07058cc576228f9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga4902a96e0396c283f07058cc576228f9">XLOADER_BOOTPDI_INFO_PARAMS_VERSION</a>&#160;&#160;&#160;(2U)</td></tr>
<tr class="memdesc:ga4902a96e0396c283f07058cc576228f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">BootPDI info version.  <a href="group__xloader__server__apis.html#ga4902a96e0396c283f07058cc576228f9">More...</a><br/></td></tr>
<tr class="separator:ga4902a96e0396c283f07058cc576228f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9435ad99e3e9b2e04e3438dc2db2c3c2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga9435ad99e3e9b2e04e3438dc2db2c3c2">XLOADER_BOOTPDI_INFO_PARAMS_LCVERSION</a>&#160;&#160;&#160;(2U)</td></tr>
<tr class="memdesc:ga9435ad99e3e9b2e04e3438dc2db2c3c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">BootPDI info lowest compatible version.  <a href="group__xloader__server__apis.html#ga9435ad99e3e9b2e04e3438dc2db2c3c2">More...</a><br/></td></tr>
<tr class="separator:ga9435ad99e3e9b2e04e3438dc2db2c3c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga280195c8872446ce29567b7a5dff7486"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga280195c8872446ce29567b7a5dff7486">XLOADER_CMD_GET_DDR_DEVICE_ID</a>&#160;&#160;&#160;(0U)</td></tr>
<tr class="memdesc:ga280195c8872446ce29567b7a5dff7486"><td class="mdescLeft">&#160;</td><td class="mdescRight">DDR device id.  <a href="group__xloader__server__apis.html#ga280195c8872446ce29567b7a5dff7486">More...</a><br/></td></tr>
<tr class="separator:ga280195c8872446ce29567b7a5dff7486"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaab68989608ddaae8e60e757fe4261c06"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#gaab68989608ddaae8e60e757fe4261c06">XLOADER_DDR_CRYPTO_MAIN_OFFSET</a>&#160;&#160;&#160;(0X40000U)</td></tr>
<tr class="memdesc:gaab68989608ddaae8e60e757fe4261c06"><td class="mdescLeft">&#160;</td><td class="mdescRight">DDR crypto block offset from ub.  <a href="group__xloader__server__apis.html#gaab68989608ddaae8e60e757fe4261c06">More...</a><br/></td></tr>
<tr class="separator:gaab68989608ddaae8e60e757fe4261c06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga08f25e90d333d2cb81e08b8b0889a9d6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga08f25e90d333d2cb81e08b8b0889a9d6">XLOADER_DDR_PERF_MON_CNT0_OFFSET</a>&#160;&#160;&#160;(0X868U)</td></tr>
<tr class="memdesc:ga08f25e90d333d2cb81e08b8b0889a9d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Counter 0 offset.  <a href="group__xloader__server__apis.html#ga08f25e90d333d2cb81e08b8b0889a9d6">More...</a><br/></td></tr>
<tr class="separator:ga08f25e90d333d2cb81e08b8b0889a9d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga98c71f1b4c75ad9161caecb08ef0400a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga98c71f1b4c75ad9161caecb08ef0400a">XLOADER_DDR_PERF_MON_CNT1_OFFSET</a>&#160;&#160;&#160;(0X86CU)</td></tr>
<tr class="memdesc:ga98c71f1b4c75ad9161caecb08ef0400a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Counter 1 offset.  <a href="group__xloader__server__apis.html#ga98c71f1b4c75ad9161caecb08ef0400a">More...</a><br/></td></tr>
<tr class="separator:ga98c71f1b4c75ad9161caecb08ef0400a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadee2c86cf56654f376ad72d8132a08d8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#gadee2c86cf56654f376ad72d8132a08d8">XLOADER_DDR_PERF_MON_CNT2_OFFSET</a>&#160;&#160;&#160;(0X870U)</td></tr>
<tr class="memdesc:gadee2c86cf56654f376ad72d8132a08d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Counter 2 offset.  <a href="group__xloader__server__apis.html#gadee2c86cf56654f376ad72d8132a08d8">More...</a><br/></td></tr>
<tr class="separator:gadee2c86cf56654f376ad72d8132a08d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga66ee459f51efdeb7666d9e790e539d36"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga66ee459f51efdeb7666d9e790e539d36">XLOADER_DDR_PERF_MON_CNT3_OFFSET</a>&#160;&#160;&#160;(0X874U)</td></tr>
<tr class="memdesc:ga66ee459f51efdeb7666d9e790e539d36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Counter 3 offset.  <a href="group__xloader__server__apis.html#ga66ee459f51efdeb7666d9e790e539d36">More...</a><br/></td></tr>
<tr class="separator:ga66ee459f51efdeb7666d9e790e539d36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6cce691e196dc2b9637fa0d443517afa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga6cce691e196dc2b9637fa0d443517afa">XLOADER_CMD_CONFIG_JTAG_STATE_FLAG_INDEX</a>&#160;&#160;&#160;(0U)</td></tr>
<tr class="memdesc:ga6cce691e196dc2b9637fa0d443517afa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index in the Payload of ConfigureJtagState command where JTAG state flag is present.  <a href="group__xloader__server__apis.html#ga6cce691e196dc2b9637fa0d443517afa">More...</a><br/></td></tr>
<tr class="separator:ga6cce691e196dc2b9637fa0d443517afa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga57693974e707c6a48cd7fbabc088e59e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga57693974e707c6a48cd7fbabc088e59e">XLOADER_CMD_CONFIG_JTAG_STATE_FLAG_MASK</a>&#160;&#160;&#160;(0x03U)</td></tr>
<tr class="memdesc:ga57693974e707c6a48cd7fbabc088e59e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask for JTAG state flag.  <a href="group__xloader__server__apis.html#ga57693974e707c6a48cd7fbabc088e59e">More...</a><br/></td></tr>
<tr class="separator:ga57693974e707c6a48cd7fbabc088e59e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga52d1e34b4e890bfeefe1628bfd7b23bc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga52d1e34b4e890bfeefe1628bfd7b23bc">XLOADER_CONFIG_JTAG_STATE_FLAG_ENABLE</a>&#160;&#160;&#160;(0x03U)</td></tr>
<tr class="memdesc:ga52d1e34b4e890bfeefe1628bfd7b23bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Value of JTAG state flag if enabled.  <a href="group__xloader__server__apis.html#ga52d1e34b4e890bfeefe1628bfd7b23bc">More...</a><br/></td></tr>
<tr class="separator:ga52d1e34b4e890bfeefe1628bfd7b23bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafd5144bf150041ae57d72cde9f8ee700"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#gafd5144bf150041ae57d72cde9f8ee700">XLOADER_CONFIG_JTAG_STATE_FLAG_DISABLE</a>&#160;&#160;&#160;(0x00U)</td></tr>
<tr class="memdesc:gafd5144bf150041ae57d72cde9f8ee700"><td class="mdescLeft">&#160;</td><td class="mdescRight">Value of JTAG state flag if disabled.  <a href="group__xloader__server__apis.html#gafd5144bf150041ae57d72cde9f8ee700">More...</a><br/></td></tr>
<tr class="separator:gafd5144bf150041ae57d72cde9f8ee700"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaeb9479f179f61feb1b1368cbe99e562"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#gaaeb9479f179f61feb1b1368cbe99e562">XLOADER_PCR_MEASUREMENT_INDEX_MASK</a>&#160;&#160;&#160;(0xFFFF0000U)</td></tr>
<tr class="memdesc:gaaeb9479f179f61feb1b1368cbe99e562"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask for PCR Measurement index.  <a href="group__xloader__server__apis.html#gaaeb9479f179f61feb1b1368cbe99e562">More...</a><br/></td></tr>
<tr class="separator:gaaeb9479f179f61feb1b1368cbe99e562"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:ga256f3577575dfc0f2b9de5df039a2f2d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga256f3577575dfc0f2b9de5df039a2f2d">XLoader_ReadDdrCryptoPerfCounters</a> (XPlmi_Cmd *Cmd)</td></tr>
<tr class="memdesc:ga256f3577575dfc0f2b9de5df039a2f2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function reads DDR crypto performance counters of given DDR device id.  <a href="group__xloader__server__apis.html#ga256f3577575dfc0f2b9de5df039a2f2d">More...</a><br/></td></tr>
<tr class="separator:ga256f3577575dfc0f2b9de5df039a2f2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga36eeb66375a1d833608e9869ac5e8c25"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga36eeb66375a1d833608e9869ac5e8c25">XLoader_UpdateHandler</a> (XPlmi_ModuleOp Op)</td></tr>
<tr class="memdesc:ga36eeb66375a1d833608e9869ac5e8c25"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function provides update handler for xilloader.  <a href="group__xloader__server__apis.html#ga36eeb66375a1d833608e9869ac5e8c25">More...</a><br/></td></tr>
<tr class="separator:ga36eeb66375a1d833608e9869ac5e8c25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7318d4d7ae39a9e258676bbb949341d0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga7318d4d7ae39a9e258676bbb949341d0">XLoader_PlatInit</a> (void)</td></tr>
<tr class="memdesc:ga7318d4d7ae39a9e258676bbb949341d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function initializes the loader with platform specific initializations.  <a href="group__xloader__server__apis.html#ga7318d4d7ae39a9e258676bbb949341d0">More...</a><br/></td></tr>
<tr class="separator:ga7318d4d7ae39a9e258676bbb949341d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga610d38218f6d60c5d6ad9880efa6ad35"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga610d38218f6d60c5d6ad9880efa6ad35">XLoader_HdrMeasurement</a> (XilPdi *PdiPtr)</td></tr>
<tr class="memdesc:ga610d38218f6d60c5d6ad9880efa6ad35"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function measures the PDI's meta header data by calculating the hash using SHA3.  <a href="group__xloader__server__apis.html#ga610d38218f6d60c5d6ad9880efa6ad35">More...</a><br/></td></tr>
<tr class="separator:ga610d38218f6d60c5d6ad9880efa6ad35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5ac253b7c53e277edd095f79563590c4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga5ac253b7c53e277edd095f79563590c4">XLoader_SecureConfigMeasurement</a> (XLoader_SecureParams *SecurePtr, u32 PcrInfo, u32 *DigestIndex, u32 OverWrite)</td></tr>
<tr class="memdesc:ga5ac253b7c53e277edd095f79563590c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function measures the Secure Configuration that is SPK, SPK ID and Encryption Revoke ID and extends to the specified PCR.  <a href="group__xloader__server__apis.html#ga5ac253b7c53e277edd095f79563590c4">More...</a><br/></td></tr>
<tr class="separator:ga5ac253b7c53e277edd095f79563590c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga63654b2e9bd794bd9dedfeadd404b109"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga63654b2e9bd794bd9dedfeadd404b109">XLoader_ConfigureJtagState</a> (XPlmi_Cmd *Cmd)</td></tr>
<tr class="memdesc:ga63654b2e9bd794bd9dedfeadd404b109"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function enables or disable Jtag Access Command payload parameters are.  <a href="group__xloader__server__apis.html#ga63654b2e9bd794bd9dedfeadd404b109">More...</a><br/></td></tr>
<tr class="separator:ga63654b2e9bd794bd9dedfeadd404b109"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga830f47f91bd5f3b12b41a8e80108017d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga830f47f91bd5f3b12b41a8e80108017d">XLoader_CheckAndUpdateSecureState</a> (void)</td></tr>
<tr class="memdesc:ga830f47f91bd5f3b12b41a8e80108017d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function checks and updates the secure state configuration.  <a href="group__xloader__server__apis.html#ga830f47f91bd5f3b12b41a8e80108017d">More...</a><br/></td></tr>
<tr class="separator:ga830f47f91bd5f3b12b41a8e80108017d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:ga8ee855df9e0b6924472583ce2ed0edf9"><td class="memItemLeft" align="right" valign="top">XLoader_ImageInfoTbl *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga8ee855df9e0b6924472583ce2ed0edf9">XLoader_GetImageInfoTbl</a> (void)</td></tr>
<tr class="memdesc:ga8ee855df9e0b6924472583ce2ed0edf9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function provides ImageInfoTbl pointer.  <a href="group__xloader__server__apis.html#ga8ee855df9e0b6924472583ce2ed0edf9">More...</a><br/></td></tr>
<tr class="separator:ga8ee855df9e0b6924472583ce2ed0edf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c4719cd0b80cb8626bbd934db116429"><td class="memItemLeft" align="right" valign="top">XLoader_ImageStore *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga3c4719cd0b80cb8626bbd934db116429">XLoader_GetPdiList</a> (void)</td></tr>
<tr class="memdesc:ga3c4719cd0b80cb8626bbd934db116429"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function provides pointer to PdiList.  <a href="group__xloader__server__apis.html#ga3c4719cd0b80cb8626bbd934db116429">More...</a><br/></td></tr>
<tr class="separator:ga3c4719cd0b80cb8626bbd934db116429"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga66559b884d7cf9ebdeb4850cc1b32a30"><td class="memItemLeft" align="right" valign="top">XilPdi_ATFHandoffParams *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga66559b884d7cf9ebdeb4850cc1b32a30">XLoader_GetATFHandoffParamsAddr</a> (void)</td></tr>
<tr class="memdesc:ga66559b884d7cf9ebdeb4850cc1b32a30"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the ATFHandoffParams structure address to the caller.  <a href="group__xloader__server__apis.html#ga66559b884d7cf9ebdeb4850cc1b32a30">More...</a><br/></td></tr>
<tr class="separator:ga66559b884d7cf9ebdeb4850cc1b32a30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6c3b5e104f9dadbef8b3c59d683bd332"><td class="memItemLeft" align="right" valign="top">XilBootPdiInfo *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga6c3b5e104f9dadbef8b3c59d683bd332">XLoader_GetBootPdiInfo</a> (void)</td></tr>
<tr class="memdesc:ga6c3b5e104f9dadbef8b3c59d683bd332"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function provides pointer to BootPDI Info.  <a href="group__xloader__server__apis.html#ga6c3b5e104f9dadbef8b3c59d683bd332">More...</a><br/></td></tr>
<tr class="separator:ga6c3b5e104f9dadbef8b3c59d683bd332"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabdd3f08598453e93f5b6ce59411c1824"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#gabdd3f08598453e93f5b6ce59411c1824">XLoader_StartImage</a> (XilPdi *PdiPtr)</td></tr>
<tr class="memdesc:gabdd3f08598453e93f5b6ce59411c1824"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to start the subsystems in the PDI.  <a href="group__xloader__server__apis.html#gabdd3f08598453e93f5b6ce59411c1824">More...</a><br/></td></tr>
<tr class="separator:gabdd3f08598453e93f5b6ce59411c1824"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga165b8b9d58043ef922abac0188d45373"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga165b8b9d58043ef922abac0188d45373">XLoader_MeasureNLoad</a> (XilPdi *PdiPtr)</td></tr>
<tr class="memdesc:ga165b8b9d58043ef922abac0188d45373"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function measures the partion hashes.  <a href="group__xloader__server__apis.html#ga165b8b9d58043ef922abac0188d45373">More...</a><br/></td></tr>
<tr class="separator:ga165b8b9d58043ef922abac0188d45373"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0b1966d6afb00e55785154bac01c8228"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga0b1966d6afb00e55785154bac01c8228">XLoader_SetATFHandoffParameters</a> (const XilPdi_PrtnHdr *PrtnHdr)</td></tr>
<tr class="memdesc:ga0b1966d6afb00e55785154bac01c8228"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the handoff parameters to the ARM Trusted Firmware(ATF).  <a href="group__xloader__server__apis.html#ga0b1966d6afb00e55785154bac01c8228">More...</a><br/></td></tr>
<tr class="separator:ga0b1966d6afb00e55785154bac01c8228"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf53860991287c550d874547a0ca021bb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#gaf53860991287c550d874547a0ca021bb">XLoader_GetSDPdiSrcNAddr</a> (u32 SecBootMode, XilPdi *PdiPtr, u32 *PdiSrc, u64 *PdiAddr)</td></tr>
<tr class="memdesc:gaf53860991287c550d874547a0ca021bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to get PdiSrc and PdiAddr for Secondary SD boot modes.  <a href="group__xloader__server__apis.html#gaf53860991287c550d874547a0ca021bb">More...</a><br/></td></tr>
<tr class="separator:gaf53860991287c550d874547a0ca021bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4ee480ef9152cd51e9aabb49fd0515fd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga4ee480ef9152cd51e9aabb49fd0515fd">XLoader_ProcessElf</a> (XilPdi *PdiPtr, const XilPdi_PrtnHdr *PrtnHdr, XLoader_PrtnParams *PrtnParams, XLoader_SecureParams *SecureParams)</td></tr>
<tr class="memdesc:ga4ee480ef9152cd51e9aabb49fd0515fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function copies the elf partitions to specified destinations.  <a href="group__xloader__server__apis.html#ga4ee480ef9152cd51e9aabb49fd0515fd">More...</a><br/></td></tr>
<tr class="separator:ga4ee480ef9152cd51e9aabb49fd0515fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaafe5cd1245a7aaf54eb6c3d1a1146578"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#gaafe5cd1245a7aaf54eb6c3d1a1146578">XLoader_UpdateHandoffParam</a> (XilPdi *PdiPtr)</td></tr>
<tr class="memdesc:gaafe5cd1245a7aaf54eb6c3d1a1146578"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to update the handoff parameters.  <a href="group__xloader__server__apis.html#gaafe5cd1245a7aaf54eb6c3d1a1146578">More...</a><br/></td></tr>
<tr class="separator:gaafe5cd1245a7aaf54eb6c3d1a1146578"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga99e1b8db2c77863361f3d8802cff6d8b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga99e1b8db2c77863361f3d8802cff6d8b">XLoader_ProcessDeferredError</a> (void)</td></tr>
<tr class="memdesc:ga99e1b8db2c77863361f3d8802cff6d8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function checks if MJTAG workaround is required.  <a href="group__xloader__server__apis.html#ga99e1b8db2c77863361f3d8802cff6d8b">More...</a><br/></td></tr>
<tr class="separator:ga99e1b8db2c77863361f3d8802cff6d8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafbdd06a059cd7970791f71533c47b8d6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#gafbdd06a059cd7970791f71533c47b8d6">XLoader_DataMeasurement</a> (XLoader_ImageMeasureInfo *ImageInfo)</td></tr>
<tr class="memdesc:gafbdd06a059cd7970791f71533c47b8d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function measures the data by calculating SHA3 hash.  <a href="group__xloader__server__apis.html#gafbdd06a059cd7970791f71533c47b8d6">More...</a><br/></td></tr>
<tr class="separator:gafbdd06a059cd7970791f71533c47b8d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
